﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class admin_QuanLyNguoiDung : System.Web.UI.Page
{
    const string passwordQuestion = "Màu bạn thích nhất";
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    private void MessageBox(string msg)
    {
        Page.Controls.Add(new LiteralControl(
        "<script language='javascript'> window.alert('" + msg.Replace("'", "\\'") + "');location.href='QuanLyNguoiDung.aspx';</script>"));

    }

    public bool IsValidEmail(string email)
    {
        bool IsValidEmail = false;
        IsValidEmail = Regex.IsMatch(email,
            @"\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-|_)" +
            @"[A-Za-z0-9]+)*\.([A-Za-z]{2,4})$");
        if (IsValidEmail)
        {
            return true;
        }
        return false;
    }

    public bool ValidateLogin()
    {
        if (txtTenDangNhap.Text.Equals(""))
        {
            lblStatus.Text = "Vui lòng nhập vào tên đăng nhập!";
            return false;

        }
        if (txtEmail.Text.Equals(""))
        {
            lblStatus.Text = "Vui lòng nhập vào địa chỉ mail!";
            return false;

        }
        else
        {
            if (!IsValidEmail(txtEmail.Text))
            {
                lblStatus.Text = "Địa chỉ mail không hợp lệ, Email phải có định dạng sau: someone@domain.type!";
                return false;
            }
        }
        if (txtMatKhau.Text.Equals(""))
        {
            lblStatus.Text = "Vui lòng nhập vào mật khẩu!";
            return false;

        }
        if (txtXacNhanMatKhau.Text.Equals(""))
        {
            lblStatus.Text = "Vui lòng nhập vào xác nhận mật khẩu!";
            return false;

        }
        if (txtMatKhau.Text != txtXacNhanMatKhau.Text)
        {
            lblStatus.Text = "Mật khẩu và xác nhận mật khẩu không hợp lệ!";
            return false;
        }
        return true;
    }

    protected void lkbtnThem_Click(object sender, EventArgs e)
    {
        if (!ValidateLogin())
        {
            return;
        }
        MembershipCreateStatus createStatus;
        MembershipUser newUser =
            Membership.CreateUser(txtTenDangNhap.Text, txtMatKhau.Text, txtEmail.Text, passwordQuestion, "màu hồng", true, out createStatus);
        switch (createStatus)
        {
            case MembershipCreateStatus.Success:
                Roles.AddUserToRole(txtTenDangNhap.Text, lstNhom.Text);
                MessageBox("Thêm thành công");
                break;
            case MembershipCreateStatus.DuplicateUserName:
                lblStatus.Text = "Người dùng này đã tồn tại, vui lòng nhập vào tên người dùng khác!";
                break;
            case MembershipCreateStatus.DuplicateEmail:
                lblStatus.Text = "Địa chỉ Email bạn vừa nhập vào đã tồn tại, vui lòng nhập địa chỉ email khác!";
                break;
            case MembershipCreateStatus.InvalidEmail:
                lblStatus.Text = "Địa chỉ Email không hợp lệ, vui lòng nhập lại.";
                break;
            case MembershipCreateStatus.InvalidPassword:
                lblStatus.Text = "Mật khẩu phải có độ dài ít nhất 7 kí tự. Trong đó có 1 kí tự Alpha (~@#$%^&*).";
                break;
            default:
                lblStatus.Text = "Có 1 lỗi gì đó, tài khoản của bạn chưa được khởi tạo.";
                break;
        }
    }
}
